include RP.'public'.DS.'config'.DS.'db.php'; ////////////////////////////////////////////////////////БАЗА Class DB{ static $base_name; static $connect; function __construct(){ self::$connect = new mysqli('localhost', DB_USER, DB_PASSWORD, DB_BASE); if(mysqli_connect_errno()) die(printf("Подключение к серверу MySQL невозможно. Код ошибки: %s\n", mysqli_connect_error())); self::$connect->set_charset("utf8"); self::$base_name = DB_BASE; } static function connect($sql){ $query = self::$connect->query($sql); if(!$query || self::$connect->error){ // $debug = debug_backtrace(); putlog('sql_errors', 'error: '.self::$connect->error."\n".'sql: '.$sql); // return self::select($sql); die(self::$connect->error); } return $query; } static function select($sql){ $query = DB::connect($sql); $num = $query->num_rows; if($num > 0) return $query; else return false; } static function SA($sql,$ROW = false){ $query = DB::select($sql); //file_put_contents('sql.txt', $sql."\n", FILE_APPEND); if(!$query) return array(); $return = array(); while($row = mysqli_fetch_assoc($query)){ $return[] = $row; } if($ROW) return $return[0]; else return $return; } static function SAK($sql){ $query = DB::select($sql); if(!$query) return array(); $return = array(); while($row = mysqli_fetch_assoc($query)){ $id = $row['k']; unset($row['k']); $return[$id] = $row; } return $return; } static function SKV($sql,$ROW = false){ $query = DB::select($sql); if(!$query) return array(); $return = array(); while($row = mysqli_fetch_assoc($query)){ $return[$row['k']] = (string)$row['v']; } return $return; } static function SACOL($sql,$key = false){ $query = DB::select($sql); if(!$query) return array(); $return = array(); if($key){ while($row = mysqli_fetch_array($query)){ $return[$row[0]] = (string)$row[0]; } } else{ while($row = mysqli_fetch_array($query)){ $return[] = (string)$row[0]; } } return $return; } static function SAV($sql,$ROW = false){ $query = DB::select($sql); if(!$query) return array(); $return = array(); while($row = mysqli_fetch_assoc($query)){ $return[] = (string)$row['v']; } if($ROW) return $return[0]; else return $return; } static function I($sql){ $query = DB::connect($sql); if(!$query) return false; return self::$connect->insert_id; } static function U($sql){ $query = DB::connect($sql); if(!$query) return false; else return true; } static function insert($table,$data){ $KEYS = array_keys($data); $VALUES = array_values($data); if(!is_array($VALUES[0])) return self::I('INSERT INTO '.$table.' (`'.implode('`,`',$KEYS).'`) VALUES("'.implode('","',$VALUES).'")'); else{ foreach($data AS $v){ $KEYS = array_keys($v); $VALUES = array_values($v); self::I('INSERT INTO '.$table.' (`'.implode('`,`',$KEYS).'`) VALUES("'.implode('","',$VALUES).'")'); } return true; } } static function replace($table,$data){ $KEYS = array_keys($data); $VALUES = array_values($data); if(!is_array($VALUES[0])) return self::I('REPLACE INTO '.$table.' (`'.implode('`,`',$KEYS).'`) VALUES("'.implode('","',$VALUES).'")'); else{ foreach($data AS $v){ $KEYS = array_keys($v); $VALUES = array_values($v); self::I('REPLACE INTO '.$table.' (`'.implode('`,`',$KEYS).'`) VALUES("'.implode('","',$VALUES).'")'); } return true; } } static function update($table,$data,$where){ $VALUES = array_values($data); $SET = array(); if(!is_array($VALUES[0])){ foreach($data AS $k=>$v){ $SET[] = $k.' = "'.$v.'"'; } return self::U('UPDATE '.$table.' SET '.implode(',',$SET).($where?' WHERE '.$where:'')); } else{ foreach($data AS $V){ $id = array(); foreach($V AS $k=>$v){ $SET[] = $k.' = "'.$v.'"'; } $id[] = self::U('UPDATE '.$table.' SET '.implode(',',$SET).($where?' WHERE '.$where:'')); } return $id; } } //ВИТАЛИК static function getTable($sql, $actions=false, $id = '', $class='table'){ //построить таблицу по запросу // $sql, $edit=false, $del=false, $edExtrauri='', $delExtrauri='', $id = '', $class='auto_table'){ //построить таблицу по запросу /* $sql = sql запрос $edit='false' = кнопка редактирования $del='false' = кнопка удаления $class='auto_table' = класс таблицы $edExtrauri = ссылка на действие для edit $delExtrauri = ссылка на действие для delete */ //используемые переменные $sWebUrl = SITE_URL; //веб ссылка сайта //echo $sWebUrl; $result = self::getResult($sql); //d($result); if($result===0) return 0; $html = "
".$result['headers'][$i]." | "; } $html.="
---|
$col | "; } $html.="